package be.phl.obstacleapp;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.util.TypedValue;
import android.view.Display;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PatientDetailActivity extends Activity {

	Fragment fragment;
	Button btnContactgegevens, btnBewonergegevens;
	TextView btnBewoner, btnContactpersoon, btnPersoonlijkeGegevens, btnLoophulpmiddelen, btnFunctioneleBewegingsmogelijkheden;
	EditText txtName;
	private int width, height;

	public int getWidth() {
		return width;
	}

	public void setWidth(int width) {
		this.width = width;
	}

	public int getHeight() {
		return height;
	}

	public void setHeight(int height) {
		this.height = height;
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.patientdetail);
		getScreenDimensions();

		getActionBar().setDisplayHomeAsUpEnabled(true);

		btnContactgegevens = (Button) findViewById(R.id.btnContactgegevens);
		btnBewoner = (TextView) findViewById(R.id.btnBewoner);
		btnContactpersoon = (TextView) findViewById(R.id.btnContactpersoon);
		btnBewonergegevens = (Button) findViewById(R.id.btnBewonergegevens);
		btnPersoonlijkeGegevens = (TextView) findViewById(R.id.btnPersoonlijkeGegevens);
		btnLoophulpmiddelen = (TextView) findViewById(R.id.btnLoophulpmiddelen);
		btnFunctioneleBewegingsmogelijkheden = (TextView) findViewById(R.id.btnFunctioneleBewegingsmogelijkheden);

		FragmentManager fm = getFragmentManager();
		FragmentTransaction ft = fm.beginTransaction();

		PatientFragment myFragment = new PatientFragment();
		ft.add(R.id.myFragment, myFragment);
		ft.commit();

		btnContactgegevens.setClickable(false);
		btnBewonergegevens.setClickable(false);

		btnBewoner.setOnClickListener(btnOnClickListener);
		btnContactpersoon.setOnClickListener(btnOnClickListener);
		btnPersoonlijkeGegevens.setOnClickListener(btnOnClickListener);
		btnLoophulpmiddelen.setOnClickListener(btnOnClickListener);
		btnFunctioneleBewegingsmogelijkheden
				.setOnClickListener(btnOnClickListener);

		int textsize = getWidth() * 10 / 400;
		Typeface tf = Typeface.createFromAsset(getAssets(), "com.ttf");
		btnContactgegevens.setTypeface(tf, Typeface.BOLD);
		btnContactgegevens.setText("Contactgegevens");
		btnContactgegevens.setTextSize(TypedValue.COMPLEX_UNIT_PX, textsize);
		//btnContactgegevens.setBackgroundColor(R.drawable.border);
		btnBewonergegevens.setTypeface(tf, Typeface.BOLD);
		btnBewonergegevens.setText("Bewonergegevens");
		btnBewonergegevens.setTextSize(TypedValue.COMPLEX_UNIT_PX, textsize);
		//btnBewonergegevens.setBackgroundColor(Color.parseColor("#ADDFFF"));

		textsize = getWidth() * 8 / 400;
		btnBewoner.setTypeface(tf, Typeface.BOLD);
		btnBewoner.setText("Bewoner");
		btnBewoner.setTextSize(TypedValue.COMPLEX_UNIT_PX, textsize);
		btnContactpersoon.setTypeface(tf, Typeface.BOLD);
		btnContactpersoon.setText("Contactpersoon");
		btnContactpersoon.setTextSize(TypedValue.COMPLEX_UNIT_PX, textsize);
		btnPersoonlijkeGegevens.setTypeface(tf, Typeface.BOLD);
		btnPersoonlijkeGegevens.setText("Persoonlijke gegevens");
		btnPersoonlijkeGegevens.setTextSize(TypedValue.COMPLEX_UNIT_PX,
				textsize);
		btnLoophulpmiddelen.setTypeface(tf, Typeface.BOLD);
		btnLoophulpmiddelen.setText("Loophulpmiddelen");
		btnLoophulpmiddelen.setTextSize(TypedValue.COMPLEX_UNIT_PX, textsize);
		btnFunctioneleBewegingsmogelijkheden.setTypeface(tf, Typeface.BOLD);
		btnFunctioneleBewegingsmogelijkheden
				.setText("Functionele bewegingsmogelijk- \nheden");
		btnFunctioneleBewegingsmogelijkheden.setTextSize(
				TypedValue.COMPLEX_UNIT_PX, textsize);

		getWindow().setSoftInputMode(
				WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

	}

	Button.OnClickListener btnOnClickListener = new Button.OnClickListener() {
		@Override
		public void onClick(View v) {

			Fragment newFragment;

			if (v == btnContactpersoon) {
				newFragment = new ContactpersonFragment();
			} else if (v == btnPersoonlijkeGegevens) {
				newFragment = new PersonalDataFragment();
			} else if (v == btnLoophulpmiddelen) {
				newFragment = new UsedAidFragment();
			} else if (v == btnFunctioneleBewegingsmogelijkheden) {
				newFragment = new MovementRestrictionFragment();
			} else {
				newFragment = new PatientFragment();
			}

			FragmentTransaction transaction = getFragmentManager()
					.beginTransaction();
			transaction.replace(R.id.myFragment, newFragment);
			transaction.addToBackStack(null);
			transaction
					.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
			transaction.commit();
		}
	};

	@SuppressWarnings("deprecation")
	public void getScreenDimensions() {
		Display display = getWindowManager().getDefaultDisplay();

		setWidth(display.getWidth());
		setHeight(display.getHeight());
	}
	
	@Override
	public void onBackPressed() {
		super.onBackPressed();
		// create a new patientsactivity
		Intent patientAct = new Intent(this, PatientsActivity.class);
		patientAct.putExtra("Screen", 1);
		this.startActivity(patientAct);

	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case android.R.id.home:
			// This ID represents the Home or Up button. In the case of this
			// activity, the Up button is shown. Use NavUtils to allow users
			// to navigate up one level in the application structure. For
			// more details, see the Navigation pattern on Android Design:
			//
			// http://developer.android.com/design/patterns/navigation.html#up-vs-back
			//
			NavUtils.navigateUpFromSameTask(this);
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}
